package com.power.sifa.approve.service;

import com.power.sifa.approve.model.Apl_arrive_person;
import com.power.sifa.approve.model.pageInfo.Apl_arrive_personPageInfo;
import org.springframework.data.domain.Page;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  送达详情送达人业务层
 */
public interface Apl_arrive_personService {

    /**
     *  根据id获取送达详情送达人对象
     */
    Apl_arrive_person getById(Serializable id);

    /**
     *  根据传入送达详情送达人对象进行新增或更新操作
     */
    void saveOrUpdate(Apl_arrive_person apl_arrive_person);

    /**
     *  根据id删除送达详情送达人
     */
    void removeById(String id);

    /**
     *  根据传入条件查询送达详情送达人分页结果
     */
    Page<Apl_arrive_person> findAll(Apl_arrive_personPageInfo pageInfo);
    
    /**
     * 查询全部送达详情送达人
     */
    List<Apl_arrive_person> findAll();
    
     /**
     *  根据id批量删除送达详情送达人
     */
    void removeByIds(List<String> list);
    
     /**
     *  批量保存送达详情送达人
     */
    void saveAll(List<Apl_arrive_person> list);

    /**
     * 通过送达详情记录的iD查询送达人信息
     * @param recordIds
     * @return
     */
    List<Apl_arrive_person> findPersonByRecordIds(List<String> recordIds);


    /**
     * 通过送达详情记录的iD删除送达人信息
     * @param recordIds
     */
    void removeByRecordIds(List<String> recordIds);


    /**
     * 通过送达人员的电话号码查询全部的送达记录
     * @param phone
     * @return
     */
    List<Apl_arrive_person> findPersonByPhone(String phone);


    /**
     * 通过条件查询当前人的送达记录
     * @param pageInfo
     * @return
     */
    List<Map<String, Object>> findArriveListByPhone(Apl_arrive_personPageInfo pageInfo);
}
